package main

import (
	"fmt"
	"strings"
)

/**
最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀，返回空字符串 ""。

示例 1：
输入：strs = ["flower","flow","flight"]
输出："fl"

示例 2：
输入：strs = ["dog","racecar","car"]
输出：""
解释：输入不存在公共前缀。

*/

func main() {
	//input := []string{"flower", "flow", "flight"}
	input := []string{"hello", "hello", "he"}
	//input := []string{"dog", "racecar", "car"}
	fmt.Println("输入:", input)
	var res strings.Builder

	if input == nil {
		return
	}
	start := input[0]
	//idx flower的下标
	for idx, str := range start {
		flag := false
		for i := 1; i < len(input); i++ {
			sub := input[i]
			if idx < len(sub) && start[idx] == sub[idx] {
				//continue
			} else {
				break
			}

			if i == (len(input) - 1) {
				flag = true
			}
		}

		if flag {
			res.WriteString(string(str))
		}
	}
	fmt.Println("输出:", res.String())
}
